﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace DVK.SP2007
{
    /// <summary>
    /// Exposes common members for custom DvkResourceManagers.
    /// </summary>
    public interface IDvkResourceManager
    {
        /// <summary>
        /// Gets the resource value based on key.
        /// </summary>
        /// <param name="key">The resource key.</param>
        /// <returns>resource value</returns>
        string GetString(string key);
        /// <summary>
        /// Gets the resource based on enum element.
        /// </summary>
        /// <typeparam name="T">type of enum</typeparam>
        /// <param name="enumValue">The enum element value.</param>
        /// <returns>localized string</returns>
        string GetResourceBasedOnEnumElement<T>(T enumValue);
        /// <summary>
        /// Gets the resource based on enum element.
        /// 
        /// The data inputed will be used in string.Format to fill in the data gaps in the localized string.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="enumValue">The enum value.</param>
        /// <param name="data">The data.</param>
        /// <returns>localized string</returns>
        string GetResourceBasedOnEnumElement<T>(T enumValue, params object[] data);
    }
}
